package aboutme.felipesilvestre.oracaolista;

import aboutme.felipesilvestre.oracaolista.util.ListOracaoTesteUtil;
import aboutme.felipesilvestre.oracaolista.util.OracaoAdapter;
import aboutme.felipesilvestre.oracaolista.vo.Oracao;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.net.Uri;
import android.os.Bundle;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.VideoView;

public class ListaOracaoActivity extends Activity {
		
	public static final int CODE_ACTIVITY = 10;
	private ListView listViewOracao;
	
	
	@Override
	public void onCreate(Bundle instace){
		super.onCreate(instace);
		setContentView(R.layout.listaoracao);
		
		VideoView video = (VideoView) findViewById(R.id.videoViewListOracao);		
		video.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.drawable.out));
		video.setOnCompletionListener(new OnCompletionListener() {
			
			@Override
			public void onCompletion(MediaPlayer mp) {
				mp.start();
				
			}
		});
		video.start();
		
		TextView txt = new TextView(getBaseContext());
		txt.setText("Lista Orações");
		txt.setTextAppearance(getBaseContext(), android.R.attr.textAppearanceLarge);
		txt.setTextSize(TypedValue.COMPLEX_UNIT_DIP,25);
		txt.setTextColor(Color.WHITE);
		addContentView(txt, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT,FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.RIGHT));
		
		listViewOracao = (ListView) findViewById(R.id.listOracao);
		
		ImageButton imgBtAddOracao = (ImageButton) findViewById(R.id.imgBtAddOracao);
		imgBtAddOracao.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
			
				startActivityForResult(new Intent(getBaseContext(),OracaoActivity.class).putExtra("novo", true), CODE_ACTIVITY);
				
			}
		});
		
		testCriaOracoes();
		
		
		
	}
	
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		carregaOracoes();
		//super.onActivityResult(requestCode, resultCode, data);
	}
	
	private void carregaOracoes(){
						
		OracaoAdapter adapter = new OracaoAdapter(this, ListOracaoTesteUtil.getListOracoes());
		if(listViewOracao == null){
			listViewOracao = (ListView) findViewById(R.id.listOracao);
		}
					
		//listViewOracao.setClickable(true);
		//listViewOracao.setSelection(android.R.color.transparent);
		listViewOracao.setOnItemClickListener(new OnItemClickListener() {
			
			

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				
				Toast.makeText(getBaseContext(), "click", Toast.LENGTH_LONG).show();
				
				Oracao oracao = ListOracaoTesteUtil.getOracao(arg2);
				
				Intent intent = new Intent(getBaseContext(), OracaoActivity.class);
				
				intent.putExtra("id",oracao.getId());
				intent.putExtra("titulo",oracao.getTitulo());
				intent.putExtra("desc",oracao.getDescricao());
				intent.putExtra("datacriacao",oracao.getDataCriacao());
				intent.putExtra("categoria",oracao.getCategoria());
				
				intent.putExtra("novo", false);
				startActivityForResult(intent, CODE_ACTIVITY);
			}
			
			
		});
		
		listViewOracao.setAdapter(adapter);
		
	}
	
	private void testCriaOracoes(){
		
		ListOracaoTesteUtil.addOracao(new Oracao(getBaseContext(), 1 , "Sucesso no Trabalho", "Conseguir me adapter ao novo trabalho e logo ser efetivado com boas condições financeiras", Oracao.CATEG_FINANCEIRO, 0, "", "24/01/2012"));
		ListOracaoTesteUtil.addOracao(new Oracao(getBaseContext(), 1 , "Saúde Mãe", "Saúde da minha mãe que tem tido dor no braço, estresse, e outros", Oracao.CATEG_SAUDE, 0, "", "24/01/2012"));
		ListOracaoTesteUtil.addOracao(new Oracao(getBaseContext(), 1 , "Terminar minha faculdade", "Terminar minha faculdade nesse ano de TCC, concluir o trabalho e me formar no inicio de 2013 para que eu possa casar em breve", Oracao.CATEG_OUTRO, 0, "", "24/01/2012"));
		
		ListOracaoTesteUtil.addOracao(new Oracao(getBaseContext(), 1 , "Saúde Mãe", "Saúde da minha mãe que tem tido dor no braço, estresse, e outros", Oracao.CATEG_SAUDE, 0, "", "24/01/2012"));
		ListOracaoTesteUtil.addOracao(new Oracao(getBaseContext(), 1 , "Saúde Mãe", "Saúde da minha mãe que tem tido dor no braço, estresse, e outros", Oracao.CATEG_SAUDE, 0, "", "24/01/2012"));
		ListOracaoTesteUtil.addOracao(new Oracao(getBaseContext(), 1 , "Saúde Mãe", "Saúde da minha mãe que tem tido dor no braço, estresse, e outros", Oracao.CATEG_SAUDE, 0, "", "24/01/2012"));
		ListOracaoTesteUtil.addOracao(new Oracao(getBaseContext(), 1 , "Saúde Mãe", "Saúde da minha mãe que tem tido dor no braço, estresse, e outros", Oracao.CATEG_SAUDE, 0, "", "24/01/2012"));
		ListOracaoTesteUtil.addOracao(new Oracao(getBaseContext(), 1 , "Saúde Mãe", "Saúde da minha mãe que tem tido dor no braço, estresse, e outros", Oracao.CATEG_SAUDE, 0, "", "24/01/2012"));
		ListOracaoTesteUtil.addOracao(new Oracao(getBaseContext(), 1 , "Saúde Mãe", "Saúde da minha mãe que tem tido dor no braço, estresse, e outros", Oracao.CATEG_SAUDE, 0, "", "24/01/2012"));
		ListOracaoTesteUtil.addOracao(new Oracao(getBaseContext(), 1 , "Saúde Mãe", "Saúde da minha mãe que tem tido dor no braço, estresse, e outros", Oracao.CATEG_SAUDE, 0, "", "24/01/2012"));
		ListOracaoTesteUtil.addOracao(new Oracao(getBaseContext(), 1 , "Saúde Mãe", "Saúde da minha mãe que tem tido dor no braço, estresse, e outros", Oracao.CATEG_SAUDE, 0, "", "24/01/2012"));
		carregaOracoes();
	}


}
